The Global Positioning System (GPS) is a system of satellite signal transmitters that transmits information from which an observer's present location and/or the time of observation can be determined. Another satellite-based navigation system is called the Global Orbiting Navigational System (GLONASS), which can operate as an alternative or supplemental system.
The GPS was developed by the United States Department of Defense (DOD) under its NAVSTAR satellite program. A fully operational GPS includes more than 21 Earth orbiting satellites approximately uniformly dispersed around six circular orbits with four satellites each, the orbits being inclined at an angle of 55.degree. relative to the equator and being separated from each other by multiples of 60.degree. longitude. The orbits have radii of 26,560 kilometers and are approximately circular. The orbits are non-geosynchronous, with 0.5 sidereal day (11.967 hours) orbital time intervals, so that the satellites move with time relative to the Earth below. Generally, four or more GPS satellites will be visible from most points on the Earth's surface, which can be used to determine an observer's position anywhere on the Earth's surface. Each satellite carries a cesium or rubidium atomic clock to provide timing information for the signals transmitted by the satellites. An internal clock correction is provided for each satellite clock.
Each GPS satellite continuously transmits two spread spectrum, L-band carrier signals: an L1 signal having a frequency f1=1575.42 MHz (nineteen centimeter carrier wavelength) and an L2 signal having a frequency f2 =1227.6 MHz (twenty-four centimeter carrier wavelength). These two frequencies are integral multiplies f1=1,540 f0 and f2=1,200 ft of a base frequency f0=1.023 MHz. The L1 signal from each satellite is binary phase shift key (BPSK) modulated by two pseudo-random noise (PRN) codes in phase quadrature, designated as the C/A-code and P-code. The L2 signal from each satellite is BPSK modulated by only the P-code. The nature of these PRN codes is described below.
Use of PRN codes allows use of a plurality of GPS satellite signals for determining an observer's position and for providing the navigation information. A signal transmitted by a particular GPS satellite is selected by generating and matching, or correlating, the PRN code for that particular satellite. Some of the PRN codes are known and are generated or stored in GPS satellite signal receivers operated by users.
A first known PRN code for each GPS satellite, sometimes referred to as a precision code or P-code, is a relatively long, fine-grained code having an associated clock or chip rate of f0=10.23 MHz. A second known PRN code for each GPS satellite, sometimes referred to as a clear/acquisition code or C/A-code, is intended to facilitate rapid satellite signal acquisition and hand-over to the P-code and is a relatively short, coarser-grained code having a clock or chip rate of f0=1.023 MHz. The C/A-code for any GPS satellite has a length of 1023 chips or time increments before this code repeats. The full P-code has a length of 259 days, with each satellite transmitting a unique portion of the full P-code. The portion of P-code used for a given GPS satellite has a length of precisely one week (7.000 days) before this code portion repeats.
Accepted methods for generating the C/A-code and P-code are set forth in the document ICD-GPS-200: GPS Interface Control Document, ARINC Research, 1997, GPS Joint Program Office, which is incorporated by reference herein.
The GPS satellite bit stream includes navigational information on the ephemeris of the transmitting GPS satellite (which includes orbital information about the transmitting satellite within next several hours of transmission) and an almanac for all GPS satellites (which includes a less detailed orbital information about all satellites). The transmitted satellite information also includes parameters providing corrections for ionospheric signal propagation delays (suitable for single frequency receivers) and for an offset time between satellite clock time and true GPS time. The navigational information is transmitted at a rate of 50 Baud.
A second satellite-based navigation system is the Global Orbiting Navigation Satellite System (GLONASS), placed in orbit by the former Soviet Union and now maintained by the Russian Republic. GLONASS uses 24 satellites, distributed approximately uniformly in three orbital planes of eight satellites each. Each orbital plane has a nominal inclination of 64.8.degree. relative to the equator, and the three orbital planes are separated from each other by multiples of 120.degree. longitude. The GLONASS satellites have circular orbits with a radii of about 25,510 kilometers and a satellite period of revolution of 8/17 of a sidereal day (11.26 hours). A GLONASS satellite and a GPS satellite will thus complete 17 and 16 revolutions, respectively, around the Earth every 8 days. The GLONASS system uses two carrier signals L1 and L2 with frequencies of f1=(1.602+9k/16) GHz and f2=(1.246+7k/16) GHz, where k (=1, 2 . . . 24) is the channel or satellite number. These frequencies lie in two bands at 1.597-1.617 GHz (L1) and 1,240-1,260 GHz (L2). The L1 signal is modulated by a C/A-code (chip rate=0.511 MHz) and by a P-code (chip rate=5.11 MHz). The L2 signal is presently modulated only by the P-code. The GLONASS satellites also transmit navigational data at a rate of 50 Baud. Because the channel frequencies are distinguishable from each other, the P-code is the same, and the C/A-code is the same, for each satellite. The methods for receiving and demodulating the GLONASS signals are similar to the methods used for the GPS signals.
Reference to a Satellite Positioning System or SATPS herein refers to a Global Positioning System, to a Global Orbiting Navigation System, and to any other compatible satellite-based system that provides information by which an observer's position and the time of observation can be determined, all of which meet the requirements of the present invention.
A Satellite Positioning System (SATPS), such as the Global Positioning System (GPS) or the Global Orbiting Navigation Satellite System (GLONASS), uses transmission of coded radio signals, with the structure described above, from a plurality of Earth-orbiting satellites. An SATPS antenna receives SATPS signals from a plurality (preferably four or more) of SATPS satellites and passes these signals to an SATPS signal receiver/processor, which (1) identifies the SATPS satellite source for each SATPS signal, (2) determines the time at which each identified SATPS signal arrives at the antenna, and (3) determines the present location of the SATPS satellites.
The range (r.sub.i) between the location of the i-th SATPS satellite and the SATPS receiver is equal to the speed of light c times (.DELTA.t.sub.i), wherein (.DELTA.t.sub.i) is the time difference between the SATPS receiver's clock and the time indicated by the satellite when it transmitted the relevant phase. However, the SATPS receiver has an inexpensive quartz clock which is not synchronized with respect to the much more stable and precise atomic clocks carried on board the satellites. Consequently, the SATPS receiver estimates a pseudo-range (pr.sub.i) (not a true range) to each satellite.
After the SATPS receiver determines the coordinates of the i-th SATPS satellite by demodulating the transmitted ephemeris parameters, the SATPS receiver can obtain the solution of the set of the simultaneous equations for its unknown coordinates (x.sub.0, y.sub.0, z.sub.0) and for unknown time bias error (cb). The SATPS receiver can also determine velocity of a moving platform.
The given above discussion assumes that a satellite navigational system used for the navigation purposes is functioning properly.
GPS satellites can provide users with warnings of satellite malfunctions. Sometimes, the warnings may take more than 5 minutes before the user is aware of a malfunction.
Aviation applications require a more timely notification of a satellite failure condition. Thus, a means to independently monitor satellite integrity is required.
One of these means is receiver autonomous integrity monitoring (RAIM). The RAIM method is based on a self-consistency check among the available measurements. The RAIM consistency check uses redundant measurements as a means to determine GPS integrity.
The discussion given below can be found in "Global Positioning System: Theory and Applications", Volume II, chapter 5, by Bradford W. Parkinson and James J. Spilker Jr., published by the American Institute of Aeronautics and Astronautics, Inc. in 1996.
There are two main approaches to RAIM (not considering several hybrid approaches).
In the first main method, the snapshot scheme, only current redundant measurements are used for the self-consistency check. In the second main method, the averaging or filtering scheme, both past and present measurements are used in the RAIM decision.
The theoretical foundation for RAIM is statistical detection theory. Two hypothetical-testing questions are posed: (1) Does a failure exist? and (2) If so, which is the failed satellite? The basic assumption is that there is only one failed satellite at a time. Determination of which satellite has failed is more difficult than a simple failure detection, and it requires more measurement redundancy.
The Radio Technical Commission for Aeronautics (RTCA) published its Minimum Operational Performance Standards (MOPS) for GPS as a supplemental navigation system in July 1991 (Document RTCA /DO-208). The main requirements are shown in Table 1 (see below). The maximum allowable alarm rate in Table 1 refers to the usual false alarm rate with no satellite malfunction. The specification requires that both the detection and alarm-rate specification should be met globally at all times, otherwise the satellite geometry should be declared as inadmissible for integrity purposes.
In a basic snapshot RAIM scheme the noisy redundant range-type measurements are available at a given sample point in time. It is convenient to use the six-satellites-in-view-case as an example, that is the number of satellites in view N=6. The generalization to N=5 or N&gt;6 is fairly obvious.
In a range comparison method for six satellites there are six linearized over-determined equations in four unknowns. If there is no noise, one can solve the first four equations to obtain a solution that satisfies the first four equations. The resulting solution can be used to predict the remaining two measurements, and the predicted values can be compared with the actual measured values. If the two differences (residuals) are small, the detection algorithm detects "no failure". On the other hand, if either or both of the residuals are large, it declares "failure". The notion of "small" and "large" are defined by deciding whether the typical sample point lies inside or outside the decision boundary in the two-dimensional test statistic plane. This is the essence of the range comparison method.
TABLE 1 Horizontal Maximum Minimum Phase of Alert Limit allowable Detection Flight (HAL) false rate Time to alarm Probability En route 2.0 n. mi. 0.002/h 30 s 0.999 (oceanic, domestic, random, & J/V routes) Terminal 1.0 n. mi. 0.002/h 10 s 0.999 RNAV 0.3 n. mi. 0.002/h 10 s 0.999 approach, non-precision
In the least-squares -residuals RAIM method for the same six-in-view satellites example, one obtains the least squares "solution" for six equations in four unknowns. The least-squares solution can be used to predict the six measurements. Six residuals are then grouped together as a six-to-one vector in the measurement domain. The linear transformation takes the range measurement into the resulting residual vector. The sum of the squares of the residuals plays the role of the basic nonnegative scalar observable in the least-squares -residuals RAIM method. The positive semi-infinite real line can be partitioned into two parts, one for "no failure", and the other for "failure". The dividing point is called the threshold. In this method one can use a constant alarm-rate strategy by precalculating the thresholds (partitions) that yield the desired alarm rate for the various anticipated values of N. (In general, N is equal to the number of measurements). Then the real-time algorithm sets the threshold appropriately. For the zero-mean Gaussian assumption the sum of the squares of the residuals has an unnormalized chi-square distribution with (N-4) degrees of freedom. One can use chi-square statistics to find the threshold based on false alarm rate and missed detection rate for the N- number of measurements used. The sum of the squares of the residuals, which is a scalar, is used as the test statistic which is compared to the threshold. Thus, the least-squares-residuals RAIM method is easy to implement because its test statistic is a scalar, regardless of the number N of measurements used.
The RAIM parity method is more formal and less heuristic than either the range comparison method or the least-squares-residuals method. In this method, for the same six-in-view satellites example, the measurement vector is linearly transformed. The upper partitioned part of the transformation yields the usual least-squares solution. The lower partitioned is called the parity vector. For simple detection, one can obtain all the information about the parity vector by looking at its magnitude, or its magnitude squared. Thus, in the parity method, the test statistic for detection reduces to a simple scalar, as was the case with the least-squares-residuals method. The least-squares-residuals method and the parity method lead to identical observables, and with similar threshold settings, yield identical results. It can be shown, that the range-comparison space can be mapped to parity space. Thus, all three methods yield the same results.
Another RAIM implementation is the maximum separation of solution RAIM method. If there are N satellites in view, one can consider the N subset solutions obtained by omitting one satellite at a time from the full set. If a failure exists, the failed satellite is omitted from one of the subsets, and the solution thus obtained is declared a "good" solution. All other subsets contain the failed satellite, and they are in error to various degrees. If the pseudorange error in the failed satellite gradually increases with time, one would expect the subset solutions to begin to spread apart with time, and the maximum separation observed among the N solutions can be used as a measure of the solutions spread. The "good" solution remains near truth, because it does not contain the failed satellite. If there is no failure present, the solutions should remain grouped around the true position. Thus, the maximum observed solution separation in the horizontal plane can be used as a scalar and nonnegative test statistic. The "no-failure" decision is separated from the "failure" decision with some detection probability by the threshold that can be set by utilizing the relationship between the radial error and the radial-error-protection level. The detection probability varies with satellite geometry. However, this method is not practical because it requires N solutions.
In the constant-detection-rate/variable-protection-level method, a snapshot RAIM scheme differs significantly from the four methods described above. In this method, the parity vector is used as the basic test statistic, and a threshold is set to yield the desired constant alarm rate. To keep the detection probability constant, as the satellite geometry varies, the smallest radial error, or the protection radius, is used as a failure criterion. The protection radius can be calculated, in real time, on an essentially continuous basis. The variable-detection-level method could be used within the context of the RTCA specifications where fixed, discrete alarm limits are set for each phase of flight, as shown in Table. 1. When the protection radius exceeds the specified alarm limit, the alarm should be triggered, which would indicate the inadequate satellite geometry. On the other hand, if the test statistic exceeds the threshold, the alarm also would be triggered. If this is the case, the alarm would be indicative of a satellite malfunction. In either of those situations, the RTCA MOPS precludes satellite-only navigation. Thus, an airplane should be equipped with an alternative source of navigation when the satellite-based navigation fails. This is called a GPS supplementary navigation.
The supplementary navigation of an airplane can be performed by using both satellite-derived data and non-satellite-derived data, like barometric altimeter data (baro-data), for example. However, baro data that can assist in detection of the satellite failure should be satellite-calibrated first.
Thus, what is needed is a method of a satellite supplementary navigation of a moving platform by using both satellite-derived data and satellite-calibrated baro data.